package com.jasperframework.boot.common.utils;

import org.springframework.util.CollectionUtils;
import org.springframework.util.StringUtils;

import java.util.Arrays;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
import java.util.stream.Collectors;

/**
  * <p> 集合转换工具 </p>
  *
  * @site https://miliqkdoc.motopa.cn/
  * @author daizhao
  * @date 2022/12/12 12:12
  */
public class CollectionConvert extends CollectionUtils {


    /**
     * <p>字符串转换成list<Integer></></p>
     *
     * @param str 字符串   格式：  1，2，3，4
     * @return java.util.List<java.lang.Integer>
     * @author daizhao  2019/5/23 10:32
     */
    public static List<Integer> StringToListInt(String str) {

        if (!StringUtils.isEmpty(str)) {
            return Arrays.stream(str.split(",")).map(l ->
                    Integer.valueOf(l.trim())
            ).collect(Collectors.toList());
        }
        return null;
    }

    /**
     * <p>list<?> 转换成Set<?></p>
     *
     * @param list list集合
     * @return java.util.Set<org.apache.poi.ss.formula.functions.T>
     * @author daizhao  2019/5/23 10:27
     */
    public static Set<?> listToSet(List<?> list) {

        if (!isEmpty(list)) {
            return new HashSet<>(list);
        }
        return null;
    }

    /**
     * <p>将字符串转成数字数组</p>
     *
     * @param value 字符串--> "1,2,3"
     * @return int[]
     * @author daizhao  2019/5/22 18:52
     */
    public static Integer[] stringConvertInt(String value) {
        Integer[] intArr;
        if (StringUtils.isEmpty(value)) {
            return new Integer[0];
        } else {
            String[] valueArr = value.split(",");
            intArr = new Integer[valueArr.length];
            for (int i = 0; i < valueArr.length; i++) {
                intArr[i] = Integer.parseInt(valueArr[i]);
            }
        }
        return intArr;
    }
}
